home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / psion / src.doc / unsorted / starta.opl < prev    next >
Text File  |  1986-12-15  |  1KB  |  39 lines

  1. PROC startapp:
  2.     LOCAL fname$(128),app%,als$(5),pgname$(40),apname$(8),extn$(4)
  3.     LOCAL ap%,newfile%,cbyte$(1),pid%,cmdl$(128),ret%
  4.     ap%=1 :newfile%=1
  5.     WHILE 1
  6.         dInit "Start application"
  7.         dChoice ap%,"Application","Database,Word Processor,Agenda,Program Editor"
  8.         dChoice newfile%,"Open","Existing file,New file"
  9.         IF dialog=0 : CONTINUE : ENDIF
  10.         VECTOR ap% :dbf,word,agn, prog :endv
  11. dbf:: fname$="\DAT\*.DBF" :pgname$="data"
  12.             apname$="Data" :extn$=".DBF" :als$="" :GOTO d2
  13. word::  fname$="\WRD\*.WRD" :pgname$="word"
  14.             apname$="Word" :extn$=".WRD" :als$="" :GOTO d2
  15. agn::  fname$="\AGN\*.AGN" :pgname$="agenda"
  16.             apname$="Agenda" :extn$=".Agn" :als$="" :GOTO d2
  17. prog::  fname$="\OPL\*.OPL" :pgname$="word"
  18.             apname$="Program" :extn$=".OPL" :als$="OROPO" :GOTO d2
  19. d2::    dInit "Chose file"
  20.             IF newfile%=1
  21.                 dFile fname$,"Open:",0
  22.                 cbyte$="O"
  23.             ELSE
  24.                 dFile fname$,"Create:",1
  25.                 cbyte$="C"
  26.             ENDIF
  27.             IF DIALOG=0 :CONTINUE :ENDIF
  28.             pgname$="ROM::"+pgname$+".APP"+CHR$(0)
  29.             cmdl$=cbyte$+apname$+CHR$(0)+extn$+" "+als$+CHR$(0)+fname$+CHR$(0)
  30.             ret%=call($0187,addr(pgname$)+1,addr(cmdl$),0,0,addr(pid%))
  31.             IF ret%<0
  32.                 pgname$=LEFT$(pgname$,LEN(pgname$)-1)
  33.                 PRINT "Couldn't start",pgname$
  34.                 PRINT err$(ret%) : GET : CONTINUE
  35.             ENDIF
  36.             CALL($0688,pid%)
  37.         ENDWH
  38. ENDP
  39.